package cn.dengta.webapp.base.dto;

import cn.dengta.common.web.Client;
import cn.dengta.context.model.WesKit;
import com.alibaba.fastjson2.JSONObject;
import lombok.Getter;
import lombok.Setter;
import me.codeplayer.util.StringUtil;

@Getter
@Setter
public class AuditEnvConfigDTO implements java.io.Serializable{

	/**
	 * 海外IP审核环境: true=打开；false=关闭
	 * 否=正式环境；true=审核环境
	 */
	private Boolean outIp = Boolean.FALSE;
	/**
	 * 女用户审核环境：true=打开；false=关闭
	 * 推广员女用户=正式环境；非推广员女用户=审核环境
	 */
	private Boolean female = Boolean.FALSE;
	/**
	 * 男用户审核环境：true=打开；false=关闭
	 * 投放渠道=正式环境；非投放渠道/应用市场下载=审核环境
	 */
	private Boolean male = Boolean.FALSE;

	transient Long userId;
	transient Client client;
	transient WesKit wesKit;
	transient String version;

	/**
	 * 解码
	 */
	public static AuditEnvConfigDTO decode(String str) {
		try {
			if (StringUtil.isEmpty(str)) {
				return ofDef();
			}
			return JSONObject.parseObject(str, AuditEnvConfigDTO.class);
		} catch (Exception e) {

		}
		return ofDef();
	}

	public static AuditEnvConfigDTO ofDef() {
		return new AuditEnvConfigDTO();
	}

	public String encode() {
		return JSONObject.toJSONString(this);
	}
}
